package com.intellij.ide.license;

import com.intellij.ide.license.impl.EvaluationLicense;
import com.intellij.ide.license.impl.LicenseFile;
import com.intellij.ide.license.impl.ServerLicense;
import com.intellij.licensecommon.data.LicenseData;

import java.util.Date;
import java.util.UUID;

public interface LicenseFactory {

    LicenseData a(String paramString1, String paramString2);

    LicenseData read();

    EvaluationLicense createEvaluationLicense();

    boolean saveEvaluationLicense(EvaluationLicense license);

    LicenseMessages getLicenseMessages();

    ServerLicense a(String paramString1, long paramLong, String paramString2, String paramString3, int paramInt, Date paramDate);

    LicenseValidator createLicenseValidator();

    LicenseFile e();

    UUID getProductUUID();

    String getProductName();

    int getProductVersion();

    int getLicenseType();

    String getValidatorVersion();

    boolean k();
}
